// 对付复杂数据的类型标注->interface

interface Point {
  x: number;
  // 只读属性
  readonly y: number;
  // 可选属性
  // color?: string;
  // 任意属性，只能是数字和字符串
  // 和color有冲突，至color报错
  [key: string]: number;
}

let p: Point = {
  x: 1,
  y: 2,
  // 报错
  // y: '2'
}

// 报错
// p.y = 2;